【レポート】Webサイトのデータ取り込みを簡単に~Webスクレイピング入門 Alteryx Inspire 2019 #alteryx19
DI部プリセールスエンジニアの兼本です。
日本ではAWS Summit Tokyo 2019が開幕し盛り上がっている最中ですが、ここ米国ナッシュビルでは、現地時間2019年06月10日~2019年06月14日にかけて、Alteryxの年次カンファレンスイベント「Inspire 2019」が開催されています。 今回クラスメソッドからは計6人のメンバーが現地参加していますので、AWS Summit Tokyoの盛り上がりに負けないようにエントリ投下していきたいと思います。
さて、当エントリではイベント1日目に行われたトレーニングセッション「WEBスクレイピング入門」についてご紹介いたします。
目次
セッション概要
当トレーニングセッションの概要は以下の通りです。
セッションレポート
ハンズオンセッションの主な内容をレポートします。
Webスクレイピングとは
WebスクレイピングはHTMLで作成されたWebサイトに公開さえている情報を抽出するソフトウェア技術を指します。
つまり、従来であれば、人が定期的にWebサイトにアクセスして、ページ内で公開された情報やファイルなどを切り取ってほかのシステムに連携したり、プログラムから読み取りやすい形式に変換していた処理をソフトウェア技術で実現する手法です。 Web APIが提供されていれば、プログラムがAPIを呼び出すことで簡単にデータを取得することが可能ですが、APIが用意されていないWebサイトなどからデータを取得するときに有用な手法です。
Webスクレイピングの具体例
トレーニングではいくつかの実例を使ってWebスクレイピングを学びました。 最初の例では、MHS England(イギリスの国営医療サービス事業)が定期的にWebサイトに公開するExcelの資料をAlteryxでWebスクレイピングする手法をハンズオンで学びました。
Webスクレイピングを行う場合、ターゲットとなるWebサイトは仕様書が公開されていないことがほとんどだと思いますので、まずはWebサイトのHTMLソースを読み、ほしいデータがどこにあるのかを知る作業から始めます。
Google Chromeを利用している場合は、メニューから「その他のツール>デベロッパーツール」から開発者用ツールを起動することができ、HTMLソース内のタグや属性情報を簡単に追跡することができます。
Webスクレイピングに有用なツールの紹介
取り込む対象のオブジェクトが決まったら、ワークフローを作ります。
HTTP[S]プロトコル経由でデータを取得するには「ダウンロード」ツールを使います。 「ダウンロード」ツールで取り出したHTMLデータはHTMLタグの塊ですので、内容に応じて加工してあげる必要があります。 ハンズオンでは以下のツールを使用しました。
- Text To Columns:未解析のHTMLデータを改行毎に分割します。
- Filter:Contain()などの関数を使って、ターゲットのタグや属性を含む文字列を絞り込みます。
- RegEX:正規表現を使って、文字列からパターンに一致するデータを取り出します。
Alteryx Community で公開されている、Formulaツールにコピー&ペーストして使える、HTMLタグを削除する式も紹介されましたよ。
これは結構役に立つので、ご存じない方は是非チェックしていただければと思います。
また、Alteryx Inspire内でのトレーニングらしく、Alteryxコミュニティリーダー(ACE)の紹介ページから41名のACEのプロフィール写真を抽出する実習もありました。 こちらはACEの紹介ページ。弊社じょんすみすも紹介されています。
このハンズオンの内容については別の機会にご紹介できればと思います。
まとめ
以上、Alteryx Inspire 2019 のトレーニングセッションからWebスクレイピング入門をご紹介いたしました。 Webスクレイピングに関しては、弊社でもより実践的な内容をご紹介しておりますので、あわせて以下の記事もご覧ください。
- 「スーパー玉出」の公式サイトをAlteryxでWebスクレイピング、さらにTableauで「スーパー玉出」のダッシュボードを作ってみた #Alteryx #Tableau
- 「ZARAは何処?」Alteryxで最寄りの店舗を見つける
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。